/* * StQ 01.12.2001 * Matrici e allocazione dinamica: * ordinamento di stringhe da file a file mediante matrice dinamica * Il file contiene sulla prima riga il numero di stringhe la cui lunghezza * e' limitata a 100 ctr */ #include #include #define MAX_LINE 100 void ordina (char **mat, int n); void main ( void ) { FILE *fpR, *fpW; int i, n; char fileNameR[MAX_LINE]; char fileNameW[MAX_LINE]; char stringa[MAX_LINE]; char **mat; fprintf (stdout, "Nome file input = "); scanf("%s", fileNameR); /* Lettura file */ fpR = fopen (fileNameR, "r"); if (fpR==NULL) { fprintf (stderr, "Errore di apertura file input.\n"); return; } if (fscanf (fpR, "%d", &n) == EOF) { fclose (fpR); return; } mat = (char **) malloc (n * sizeof (char *)); if (mat == NULL) { fclose (fpR); return; } i = 0; while (fscanf (fpR, "%s", stringa) != EOF && i=0 && strcmp (stringa, mat[j])<0 ) mat[j+1]=mat[j]; mat[j+1]=stringa; } return; }